//
//  HZZFAdapterNativeExpressCallBack.h
//  HZZFAdSDK
//
//  Created by 早范 on 2025/4/9.
//

#import <Foundation/Foundation.h>
#import "HZZFAdapterCommonCallBack.h"

@class HZZFAdapterNativeExpressAdapter;

@protocol HZZFAdapterNativeExpressAdViewDelegate <NSObject>

- (void)render;

- (void)close;

- (void)hzzf_setRootViewController:(UIViewController *)controller;

@end

@protocol HZZFAdapterNativeExpressCallBack <HZZFAdapterCommonCallBack>

- (void)nativeExpressAdSuccessToLoadCallBack:(HZZFAdapterNativeExpressAdapter *)adapter
                         nativeExpressAdView:(NSArray<__kindof UIView <HZZFAdapterNativeExpressAdViewDelegate> *> *)nativeExpressAdViewArray;

- (void)nativeExpressAdFailToLoadCallBack:(HZZFAdapterNativeExpressAdapter *)adapter
                             error:(NSError *)error;

- (void)nativeExpressAdRenderSuccessCallBack:(HZZFAdapterNativeExpressAdapter *)adapter
                         nativeExpressAdView:(__kindof UIView <HZZFAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;

- (void)nativeExpressAdRenderFailCallBack:(HZZFAdapterNativeExpressAdapter *)adapter
                      nativeExpressAdView:(__kindof UIView <HZZFAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;

- (void)nativeExpressAdExposureCallBack:(HZZFAdapterNativeExpressAdapter *)adapter
                    nativeExpressAdView:(__kindof UIView <HZZFAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;

- (void)nativeExpressAdExposureReportCallBack:(HZZFAdapterNativeExpressAdapter *)adapter
                    nativeExpressAdView:(__kindof UIView <HZZFAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;

- (void)nativeExpressAdClickedCallBack:(HZZFAdapterNativeExpressAdapter *)adapter
                   nativeExpressAdView:(__kindof UIView <HZZFAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView  loadingPageURL:(NSString *)loadingPageURL;

- (void)nativeExpressAdClickedReportCallBack:(HZZFAdapterNativeExpressAdapter *)adapter
                   nativeExpressAdView:(__kindof UIView <HZZFAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;

- (void)nativeExpressAdCloseCallBack:(HZZFAdapterNativeExpressAdapter *)adapter
                 nativeExpressAdView:(__kindof UIView <HZZFAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;

- (void)nativeExpressAdCloseLandingPageCallBack:(HZZFAdapterNativeExpressAdapter *)adapter
                 nativeExpressAdView:(__kindof UIView <HZZFAdapterNativeExpressAdViewDelegate> *)nativeExpressAdView;


@end
